package com.hui.qiniucloud.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;

/**
 * 发送聊天消息请求DTO
 */
@Data
@Schema(description = "发送聊天消息请求")
public class ChatMessageRequest {

    @Schema(description = "消息内容", example = "你好，请介绍一下你自己", required = true)
    @NotBlank(message = "消息内容不能为空")
    @Size(max = 4000, message = "消息内容不能超过4000个字符")
    private String content;

    @Schema(description = "会话ID，不传则创建新会话", example = "1")
    private Long sessionId;

    @Schema(description = "角色ID，用于角色扮演", example = "harry_potter")
    private String characterId;

    @Schema(description = "会话标题，仅在创建新会话时生效", example = "关于魔法的讨论")
    @Size(max = 200, message = "会话标题不能超过200个字符")
    private String sessionTitle;
}